import pymysql

#coding:utf-8
import pandas as pd
import csv
import re
import numpy as np
from datetime import datetime

#读取文件
dou1=pd.read_excel(r'G:\工作\2025年订单\10月\抖音1.xlsx',dtype={'主订单编号':str,'子订单编号':str,'商品ID':str,'达人昵称':str,'选购商品':str,'达人ID':str})
#dou1_2=pd.read_excel(r'G:\工作\2025年订单\9月\抖音1_2.xlsx',dtype={'主订单编号':str,'子订单编号':str,'商品ID':str,'达人昵称':str,'选购商品':str,'达人ID':str})
#dou1=pd.concat([dou1_1,dou1_2])

dou1['平台']='抖音1'
dou2=pd.read_excel(r'G:\工作\2025年订单\10月\抖音2.xlsx',dtype={'主订单编号':str,'子订单编号':str,'商品ID':str,'达人昵称':str,'选购商品':str,'达人ID':str})
#dou2_1=pd.read_excel(r'G:\工作\2025年订单\19月\抖音2--1.xlsx',dtype={'主订单编号':str,'子订单编号':str,'商品ID':str,'达人昵称':str,'选购商品':str,'达人ID':str})
#dou2_2=pd.read_excel(r'G:\工作\2025年订单\19月\抖音2--2.xlsx',dtype={'主订单编号':str,'子订单编号':str,'商品ID':str,'达人昵称':str,'选购商品':str,'达人ID':str})

#dou2=pd.concat([dou2_1,dou2_2])
dou2['平台']='抖音2'
dou3=pd.read_excel(r'G:\工作\2025年订单\10月\抖音3.xlsx',dtype={'主订单编号':str,'子订单编号':str,'商品ID':str,'达人昵称':str,'选购商品':str,'达人ID':str})

dou3['平台']='抖音3'

dou4=pd.read_excel(r'G:\工作\2025年订单\10月\抖音4.xlsx',dtype={'主订单编号':str,'子订单编号':str,'商品ID':str,'达人昵称':str,'选购商品':str,'达人ID':str})

dou4['平台']='抖音4'
dou=pd.concat([dou1,dou2,dou3,dou4])
#dou1=dou1[dou1['支付完成时间'] != 'None']
#dou2=pd.read_excel(r'G:\工作\每日\抖音2.xlsx',dtype={'主订单编号':str,'子订单编号':str,'商品ID':str,'达人昵称':str})
dou['达人ID']=dou['达人ID'].str.strip()
dou['订单提交时间']=pd.to_datetime(dou['订单提交时间'])
dou['时']=dou['订单提交时间'].map(lambda x : x.hour)
dou['日期']=dou['订单提交时间'].map(lambda x : datetime.date(x))
dou['支付完成时间']=dou['支付完成时间'].fillna(value='1998-01-01 00:00:00')
dou['发货时间']=dou['发货时间'].fillna(value='1998-01-01 00:00:00')
def  f(x,y,z,w,m,p): #x:选购商品 y:达人id z:流量来源 w:广告渠道 d:店铺
    if 'zs2' in x  or 'zz' in x:
        return '代播1'
    elif 'zs' in x:
        return '代播1'
    elif y=='3503512424549920':
        return '代播1'
    elif y=='4178614898921144':
        return '代播1'
    elif y=='4393240679422429' or ('z1' in x)  or ('Z1' in x):
        return '自播1'
    elif y=='2572502459235059'  or ('z3' in x)  or ('Z3' in x):
        return '自播3'
    elif  y=='3087847281658366'or ('z5' in x)  or ('Z5' in x):
        return '自播5'
    #elif y=='3426555841488431'or ('z6' in x)  or ('Z6' in x):
        #return '自播6'
    elif y=='246753999456383'or ('z8' in x)  or ('Z8' in x):
        return '自播8'
    elif  ('wzm' in x) :
        return '自播1'
    elif y=='4167563789207568' or ('lsf' in x)  :
        return '螺蛳土豆粉直播间'
    elif p=='抖音1' and ('dsp' in x) :
        return '自播1'
    elif p=='抖音2' and ('dsp' in x) :
        return '自播5'
    elif p=='抖音3' and ('dsp' in x) :
        return '自播8'
    elif p=='抖音4' and ('dsp' in x) :
        return '螺蛳土豆粉直播间'
    elif y !='0':
        return '招商'
    elif z=='精选联盟':
        return '招商'
    elif w=='商品卡' :
        return '商品卡'
    else:
        return '自然单'
    

def g(x,y): #x:选购商品 y:商品规格
    if '电煮锅' in x or '电煮锅' in y or'拉面锅' in x or '拉面锅' in y:
        return '电煮锅赠品'

dou['渠道']=list(map(f,list(dou['选购商品']),list(dou['达人ID']),list(dou['流量来源']),list(dou['广告渠道']),list(dou['商品ID']),list(dou['平台'])))
dou['电煮锅']=list(map(g,list(dou['选购商品']),list(dou['商品规格'])))
dou_date=dou.loc[:,['平台','日期','时','订单提交时间','主订单编号','子订单编号','选购商品','商品规格','商品数量','商品ID','商家编码','商品单价','订单应付金额','平台优惠','商家优惠','支付方式','省','市','区','街道',
                    '支付完成时间','流量来源','订单状态','达人ID','达人昵称','售后状态','广告渠道','流量类型','流量体裁','流量渠道','发货时间','降价类优惠','平台实际承担优惠金额','商家实际承担优惠金额','达人实际承担优惠金额','是否福袋订单','渠道','电煮锅']]


dou_date=dou_date.map(lambda x : str(x).strip())
#dou_date.to_excel(r'G:\结果\结果_全11.xlsx')




# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="hui123456", db='dbtest')
# 使用cursor()方法创建一个游标对象cursor
cursor = db.cursor()
# 使用execute()方法执行SQL查询
#cursor.execute("create database dbtest charset=utf8;")
# 使用 fetchone() 方法获取单条数据

'''
sql = """
        create table doudian (  
            `shop` varchar(10) NOT NULL,
            `day` date NOT NULL,
            `hour` int(11) NOT NULL,
            `date_tj` datetime DEFAULT NULL,
            `order1` varchar(20) NOT NULL,
            `order2` varchar(20) NOT NULL,
            `Product_xg` varchar(60) DEFAULT NULL,
            `Product_gg` varchar(70) DEFAULT NULL,
            `Product_num` int(11) DEFAULT NULL,
            `Product_ID` varchar(20) DEFAULT NULL,
            `Product_BianMa` varchar(60) DEFAULT NULL,
            `Product_dj` float DEFAULT NULL,
            `Product_price` float DEFAULT NULL,
            yhquan_pt  varchar(100) ,
            yhquan_sj  varchar(100) ,
            type_zf  varchar(20) ,
            province varchar(20) ,
            city varchar(20) ,
            town varchar(20) ,
            street varchar(20) ,

            `date_zf` datetime DEFAULT NULL,
            `liulianglaiyuan` varchar(20) DEFAULT NULL,
            `order_zt` varchar(20) DEFAULT NULL,
            daren_id  varchar(50),
            `daren` varchar(50) DEFAULT NULL,
            `order_sh` varchar(20) DEFAULT NULL,
            `guanggao` varchar(20) DEFAULT NULL,
            `liuliangleixing` varchar(30) DEFAULT NULL,
            `liuliangticai` varchar(30) DEFAULT NULL,
            `liuliangqudao` varchar(30) DEFAULT NULL,
            `date_fh` datetime DEFAULT NULL,
            `yh_jiangjia` float DEFAULT NULL,
            `yh_pingtai` float DEFAULT NULL,
            `yh_shangjia` float DEFAULT NULL,
            `yh_daren` float DEFAULT NULL,
            `fuai` varchar(10) DEFAULT NULL,
            `qudao` varchar(20) DEFAULT NULL,
            `dianzhuguo` varchar(10) DEFAULT NULL
            );
            """
           
cursor.execute(sql)
'''

sqll=('insert into doudian_day values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)')


for val in dou_date.values:
    cursor.execute(sqll,tuple(val))

db.commit()
db.close()

